iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 8
0
自我挑戰組

純新手學習 JavaScript系列 第 8

新手學習JavaScript: Day08 - 流程判斷

  • 分享至 

  • xImage
  •  

昨天介紹完邏輯運算子,今天就來談談跟他很有關聯的條件語法啦!在JavaScript當中,條件語法有兩種,一個是if..else,另一個是switch..case。現在就來看看它們是怎麼運作的吧!

if..else

基本上會一點點英文,應該都能很直覺的猜到,if..else就是「如果」怎樣,就做某件事,「否則」做另一件。那它的語法如下:

if (條件式) {
  // 條件式成立會執行這邊的程式碼
} else {
  // 否則執行 else 這邊的程式碼
  // else 可以有也可以沒有
}

如果你覺得else不夠用,你還能用else if 來新增條件:

if (條件式) {
  // 條件式成立會執行這邊的程式碼
} else if (條件 2) {
  // ...
} else if(條件 3){
  // ...
}else {
  // 否則執行 else 這邊的程式碼
  // else 可以有也可以沒有
}

else if 沒有使用上限,但為了程式的可讀性與維護性,盡量減少條件數量。

switch..case

在上面我們說到如果需要很多判斷可能會用到很多的else if,來看看下面的範例:

if (a === 2 || a === 3 || a === 4) {
  console.log("apple");
} else if (a === 5 || a === 6 || a === 7) {
  console.log("orange");
} else if(a === 8 || a === 9 || a === 10){
  console.log("banana");
}else {
  console.log("others");
}

像這樣子的條件句,其實看起來還蠻複雜的。如果改用switch 的
話看起來相對會比較好一點:

switch(a){
  case 2:
  case 3:
  case 4:
    console.log("apple");
    break;
  case 5:
  case 6:
  case 7:
    console.log("orange");
    break;
  case 8:
  case 9:
  case 10:
    console.log("banana");
    break;
  default:
    console.log("others");
}

上面的例子,如果 a 變數是 2 或3或4,則印出 'apples';如果 a變數的值是 5或6或7,則會印出 "orange" ;如果 a 的值是8或9或10 則或印出"banana",最後如果a的值都不在指定的casw,則執行 default 區塊的程式碼,然後印出"others"

default 區塊其實是可以選擇不要寫的,
表示如果找不到相符的 case,則跳過整個 switch 區塊什麼不執行。

那 break 的用途是什麼呢?當 JavaScript 執行到 break 這個關鍵字的時後,就會直接跳出整個 switch 區塊,執行後面其他的程式。而如果沒有 break 則會一路往下執行。

以上就是基本的if..else 與 case 的介紹。
我們明天見!


上一篇
新手學習JavaScript: Day07 - 逗號運算子與邏輯運算子
下一篇
新手學習JavaScript: Day09 - 三元運算子與迴圈
系列文
純新手學習 JavaScript30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言